<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // new Map()
    // set()
    // get()
    // delete()
    // clear()
    // has()
    // size

    // keys()
    // values()
    // entries()
    // forEach()

    // 基本使用-无参数
    const map = new Map();
    map.set('name', 'zhangsan');
    map.set('age', 19);
    map.set('sex', 'man');
    map.set('school', 'chongda');
    map.set('hobby', 'sport');
    // 基本使用-有参数 Array
    const map1 = new Map([
        ['name', 'zhangsan'],
        ['age', 19],
        ['sex', 'man'],
        ['school', 'chongda']
    ]);
    console.log(map, map1);

    // function myForEach(iterator) {
    //     for (let key of iterator) {
    //         console.log('key', key);
    //     }
    //     console.log('==================');
    // }
    // myForEach(map.entries());
    // myForEach(map.keys());
    // myForEach(map.values());

    // 应用
    // 使用Array.from 转换 Map 为 Array
    console.log(Array.from(map));
    // 使用... 转换 Map 为 Array
    console.log([...map]);
    // 将Array 转换成 Map
    const map100 = new Map([
        ['name', 'zhangsan'],
        ['age', 19],
        ['sex', 'man'],
        ['school', 'chongda']
    ]);
    console.log(map100);
    // 将Map合并
    const map101 = new Map([...map, ...map1]);
    console.log(map101);
</script>
</body>
</html>